/***** 身分證驗證*****/
function checkID(idStr){
	  // 依照字母的編號排列，存入陣列備用。
	  var letters = new Array('A', 'B', 'C', 'D', 
	      'E', 'F', 'G', 'H', 'J', 'K', 'L', 'M', 
	      'N', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 
	      'X', 'Y', 'W', 'Z', 'I', 'O');
	  // 儲存各個乘數
	  var multiply = new Array(1, 9, 8, 7, 6, 5, 
	                           4, 3, 2, 1);
	  var nums = new Array(2);
	  var firstChar;
	  var firstNum;
	  var lastNum;
	  var total = 0;
	  // 撰寫「正規表達式」。第一個字為英文字母，
	  // 第二個字為1或2，後面跟著8個數字，不分大小寫。
	  var regExpID=/^[a-z](1|2)\d{8}$/i; 
	  // 使用「正規表達式」檢驗格式
	  if (idStr.search(regExpID)==-1) {
	    // 基本格式錯誤
	   alert("身份證號碼寫錯誤！");
	   return false;
	  } else {
		// 取出第一個字元和最後一個數字。
		firstChar = idStr.charAt(0).toUpperCase();
		lastNum = idStr.charAt(9);
	  }
	  // 找出第一個字母對應的數字，並轉換成兩位數數字。
	  for (var i=0; i<26; i++) {
		if (firstChar == letters[i]) {
		  firstNum = i + 10;
		  nums[0] = Math.floor(firstNum / 10);
		  nums[1] = firstNum - (nums[0] * 10);
		  break;
		} 
	  }
	  // 執行加總計算
	  for(var i=0; i<multiply.length; i++){
	    if (i<2) {
	      total += nums[i] * multiply[i];
	    } else {
	      total += parseInt(idStr.charAt(i-1)) * 
	               multiply[i];
	    }
	  }
	  
	  //規則一餘數為零，且檢查碼需為零
	  if (lastNum == 0 && (total % 10) != lastNum ){
	  	alert("身份證號碼寫錯誤！");
	  	return false;
	  }
	  //規則二餘數與檢查碼需相符
	  if (lastNum != 0 && (10 - (total % 10))!= lastNum) {
		alert("身份證號碼寫錯誤！");
		return false;
	  } 
	  return true;
}

/*****身分證字號比對*****/
function matchstr(Id,temp){
	var personId = "";
	var diffstr = "";
	if (Id.length > temp.length){
		for (var i=temp.length;i<Id.length;i++){
			diffstr = diffstr + Id[i];
		}
		personId = temp + diffstr;
	}else{
		if (Id[Id.length-1] !== "●"){
			for (var i=0;i<Id.length-1;i++)
				diffstr = diffstr + temp[i];
			personId = diffstr + Id[Id.length-1];
		}else{
			for (var i=0;i<Id.length;i++)
				diffstr = diffstr + temp[i];
			personId = diffstr;
		}		
	}		
	return personId;
}
/*****身分證字號遮罩*****/
function maskId(personId){	
	var maskstr = "";
	for (var i=0; i<personId.length-1 ;i++)
		maskstr = maskstr + "●";
	maskstr = maskstr + personId[personId.length-1];
	if (maskstr == "●●●●●●●●d")
		maskstr = "";
	return maskstr;
}